To reduce cost and improve flexibility, multi-function printer manufacturers have been pursuing software based image paths. One significant performance bottleneck is error diffusion. Error diffusion is serial or sequential by nature. As a result, the nature of the error diffusion operation hinders parallel processing otherwise made possible with multiple core processors in current computing devices.
Other methods attempt to take advantage of multiple core processors by dividing an image into smaller sections and then performing two-dimensional error diffusion on each smaller section. Subsequently, the image is patched back together. However, these methods are generally inefficient and generally produce an image that is not acceptable for use in most real products.